﻿using DTO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DAO
{
    public class Q_DAOKhamBenh
    {
        /// <summary>
        /// Thống kê bệnh nhân theo tháng
        /// </summary>
        /// <param name="thang">Tháng thống kê</param>
        /// <param name="nam">Năm thống kê</param>
        /// <returns></returns>
        public List<TKBenhNhanThang> dsBenhNhanTheoThang(int Thang, int Nam)
        {
            List<TKBenhNhanThang> dsTKBenhNhaThang = null;
            using (db_nhakhoachauauDataContext db = new db_nhakhoachauauDataContext())
            {
                var query = from kb in db.KhamBenhs
                            where kb.ngay_bat_dau_dieu_tri.Value.Month == Thang && kb.ngay_bat_dau_dieu_tri.Value.Year == Nam
                            group kb by kb.ngay_bat_dau_dieu_tri into chigroup 
                            select new TKBenhNhanThang
                            {
                                NgayKham = chigroup.Key.Value,
                                TongSo = chigroup.Count()
                            };
                if (query == null)
                    return null;
                dsTKBenhNhaThang = query.ToList<TKBenhNhanThang>();
                return dsTKBenhNhaThang;
            }
        }
        /// <summary>
        /// Thống kê bệnh nhân theo năm
        /// </summary>
        /// <param name="nam">Năm thống kê</param>
        /// <returns></returns>
        public List<TKBenhNhanNam> dsBenhNhanTheoNam(int Nam)
        {
            List<TKBenhNhanNam> dsBenhNhanNam = null;
            using (db_nhakhoachauauDataContext db = new db_nhakhoachauauDataContext())
            {
                var query = from kb in db.KhamBenhs
                            where kb.ngay_bat_dau_dieu_tri.Value.Year == Nam
                            group kb by kb.ngay_bat_dau_dieu_tri.Value.Month into chigroup
                            select new TKBenhNhanNam
                            {
                                Thang = chigroup.Key,
                                TongSo = chigroup.Count()
                            };
                if (query == null)
                    return null;
                dsBenhNhanNam = query.ToList<TKBenhNhanNam>();
            }
            return dsBenhNhanNam;
        }
    }
}
